﻿using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace _026_二进制序列化
{
    class Program
    {
        static void Main(string[] args)
        {
            string 文件名称 = "demo.data";

            //执行序列化
            using (FileStream 序列操作=new FileStream(文件名称,FileMode.OpenOrCreate))
            {
                BinaryFormatter 序列文件化 = new BinaryFormatter();
                //创建人员类实例
                Person我的人员类 人名单 = new Person我的人员类
                {
                    Name = "汪洋发哥",
                    Age = 28
                };

                序列文件化.Serialize(序列操作, 人名单);
            }

            using (FileStream 序列操作2=new FileStream(文件名称, FileMode.OpenOrCreate))
            {
                BinaryFormatter 操作pp = new BinaryFormatter();
                //从已保存的数据中读出人名
                Person我的人员类 读操操操之好人 = (Person我的人员类)操作pp.Deserialize(序列操作2);
                Console.WriteLine($"Name:{读操操操之好人.Name}\n 年龄：{读操操操之好人.Age}");
            }






        }
    }

    [Serializable]
    class Person我的人员类
    {
        public string  Name { get; set; }
        public int Age { get; set; }
    }

}
